<!DOCTYPE html>
<html>

<head>
  <meta charset="UTF-8" />
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  <title>11.v-if与v-show</title>
  <script src="../../lib/vue.js"></script>
</head>

<body>
  <div id="app">
    <input type="button" value="toggle" @click="flag = !flag" />

    <!-- v-if：每次都会重新删除或创建元素 -->
    <!-- v-show：每次不会重新进行DOM的删除或创建，仅仅是修改元素的样式属性 display:none -->

    <!-- v-if 有较高的切换性能消耗 -->
    <!-- v-show 用较高的初始渲染消耗 -->

    <!-- 如果有一个元素，需要频繁地闪烁——一会儿出现一会儿消失 -->
    <!-- 则更适合用v-show来避免这个DOM元素被反复插入删除带来的性能消耗 -->

    <!-- 如果这个页面上有100个元素，但是每次使用，只需显示其中的一个元素 -->
    <!-- 则更适合用v-if来避免不需要的那99个DOM元素在初始化时被加入页面带来的性能消耗 -->
    <h3 v-if="flag">这是用 v-if 控制的元素</h3>
    <h3 v-show="flag">这是用 v-show 控制的元素</h3>
  </div>
</body>
<script>
  var vm = new Vue({
    el: "#app",
    data: { flag: true },
  });
</script>

</html>